package cn.zyy.jdbc;

import cn.zyy.entity.Login;
import cn.zyy.utils.LoginUtil;

import java.sql.SQLException;
import java.util.Scanner;

/**
 * 登录测试类
 */
public class LoginTest {
    Scanner input = new Scanner(System.in);
    boolean isExist = false;
    static Login l = null;
    public static void main(String[] args) {
        LoginTest lt = new LoginTest();
        lt.loginMain();
        System.out.println("谢谢使用！");
    }
    //主程序
    public void loginMain(){
        System.out.println("******欢迎使用秋名山聊天室******");
        do {
            System.out.println("1、登录  2、注册  3、退出");
            System.out.println("请选择：");
            int isLogin = input.nextInt();
            switch (isLogin) {
                case 1://登录
                    System.out.println("请输入用户名：");
                    String username = input.next();
                    System.out.println("请输入密码：");
                    String password = input.next();
                    try {
                        int login = LoginUtil.login(username, password);
                        if (login == 1) {
                            l = new Login(username, password);
                            login(username, password);
                        }else {
                            System.out.println("该用户未注册，不能登录！");
                        }
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                    break;
                case 2://注册
                    register();
                    break;
                default://输入3或其他数字退出
                    isExist = true;
                    break;
            }
        }while (!isExist);
    }
    //登录
    public void login(String username, String password) {
        do {
            System.out.println("1、使用聊天室  2、退出聊天室  3、注销账号");
            System.out.println("请选择（输入其他返回上一级）：");
            int i = input.nextInt();
            switch (i) {
                case 1:
                    System.out.println("该功能正在开发，请稍候使用！");
                    break;
                case 2:
                    isExist = true;
                    break;
                case 3:
                    try {
                        LoginUtil.logout(username, password);
                        System.exit(1);
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                default:
                    break;
            }
            if (i != 1) {
                break;
            }
        }while(true);
    }
    //注册
    public void register() {
        System.out.println("请输入用户名：");
        String username = input.next();
        System.out.println("请输入密码：");
        String password = input.next();
        try {
            int register = LoginUtil.register(username, password);
            if (register == 1) {
                l = new Login(username, password);
                System.out.println("注册成功！");
            }else {
                System.out.println("注册失败！(用户名已使用)");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
